package model

import "time"

// OrderItem 表示订单明细模型，对应表 bs_order_item
type OrderItem struct {
	ID              int64      `gorm:"column:id;primaryKey;autoIncrement" json:"id"`                   // 主键ID
	AddDate         *time.Time `gorm:"column:add_date" json:"add_date"`                                // 添加时间
	LastDate        *time.Time `gorm:"column:last_date" json:"last_date"`                              // 最新修改时间
	ActualAmount    *float64   `gorm:"column:actual_amount;type:decimal(19,2)" json:"actual_amount"`   // 实际付款金额
	Num             *float64   `gorm:"column:num;type:decimal(19,2)" json:"num"`                       // 商品数量
	Price           *float64   `gorm:"column:price;type:decimal(19,2)" json:"price"`                   // 单价
	Total           *float64   `gorm:"column:total;type:decimal(19,2)" json:"total"`                   // 小计
	ParentID        *int64     `gorm:"column:parent_id" json:"parent_id"`                              // 父ID
	ProductID       *int64     `gorm:"column:product_id" json:"product_id"`                            // 商品ID
	ProductName     *string    `gorm:"column:product_name;size:255" json:"product_name"`               // 商品名称
	TotalDiscount   *float64   `gorm:"column:total_discount;type:decimal(19,2)" json:"total_discount"` // 总优惠金额
	OrderID         *int64     `gorm:"column:order_id" json:"order_id"`                                // 订单ID
	SkuID           *int64     `gorm:"column:sku_id" json:"sku_id"`                                    // Sku ID
	SkuName         *string    `gorm:"column:sku_name;size:255" json:"sku_name"`                       // Sku名称
	SkuType         *int       `gorm:"column:sku_type" json:"sku_type"`                                // 商品类型(1 商品, 2 sku)
	ProductImageURL *string    `gorm:"column:product_image_url;size:255" json:"product_image_url"`     // 商品图片URL
}

// TableName 指定订单明细模型对应的数据库表名
func (OrderItem) TableName() string {
	return "bs_order_item"
}
